/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fornecedor;

import java.util.List;
import util.ErroAcessoRepositorioException;

/**
 *
 * @author Tulio José
 * @author Alberto Medeiros
 */
public interface IRepositorioFornecedor {
    
     /**
     * Método que ira cadastrar / atualizar os Fornecedores na base
     * 
     * @param objFornecedor
     * @throws ErroAcessoRepositorioException 
     */
    public void cadastrarAtualizar(Fornecedor objFornecedor) throws ErroAcessoRepositorioException;

     /**
     * Método que irá procurar um determinado objeto na base
     * 
     * @param idFornecedor
     * @throws FornecedorNaoCadastradoException
     * @throws ErroAcessoRepositorioException 
     * @return Fornecedor
     */
    public Fornecedor procurar(int idFornecedor) throws FornecedorNaoCadastradoException, ErroAcessoRepositorioException;

     /**
     * Método que ira verificar a existência de um objeto na base
     * 
     * @param idFornecedor
     * @throws ErroAcessoRepositorioException 
     * @return boolean
     */
    public boolean existe(int idFornecedor) throws ErroAcessoRepositorioException;

    /**
     * Método que ira listar os objetos Fornacedores na base
     * 
     * @throws Exception
     * @throws ErroAcessoRepositorioException
     * @return List<Fornecedor>
     */
    public List<Fornecedor> listar(String strComplemento) throws Exception, ErroAcessoRepositorioException;

    /**
     * Método que ira remover um objeto na base
     * 
     * @param idFornecedor
     * @throws FornecedorNaoCadastradoException
     * @throws ErroAcessoRepositorioException 
     */
    public void remover(int idFornecedor) throws FornecedorNaoCadastradoException, ErroAcessoRepositorioException;
}
